// Auto


#include <iostream>
#include <typeinfo>
using namespace std;


int main( void ) {
	int a = 10;
	const int b = 20;

	auto c = a;
	cout << "c type : " << typeid( c ).name( ) << endl;
	c++;
	cout << "a address : " << &a << endl;
	cout << "c address : " << &c << endl;

	auto& d = a;
	cout << "d type : " << typeid( d ).name( ) << endl;
	d++;
	cout << "a address : " << &a << endl;
	cout << "d address : " << &d << endl;
	
	auto& e = b;	// There have & and const.
	cout << "e type : " << typeid( e ).name( ) << endl;
//	e++;	err
	cout << "b address : " << &b << endl;
	cout << "e address : " << &e << endl;

	return 0;
}

